package com.example.hxds.bff.customer.feign;

import com.example.hxds.bff.customer.controller.form.*;
import com.example.hxds.common.util.R;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import javax.validation.Valid;

@FeignClient(value = "hxds-vhr")
public interface VhrServiceApi {


    /**
     * 使用代金券
     * @param form
     * @return
     */
    @PostMapping("/voucher/customer/useVoucher")
    R useVoucher(UseVoucherForm form);


    /**
     * 查询代金券
     * @param form
     * @return
     */
    @PostMapping("/voucher/searchUnTakeVoucherByPage")
    R searchUnTakeVoucherByPage(SearchUnTakeVoucherByPageForm form);


    /**
     * 领取代金券
     * @param form
     * @return
     */
    @PostMapping("/voucher/takeVoucher")
    R takeVoucher(TakeVoucherForm form);


    /**
     * 查询代金券
     * @param form
     * @return
     */
    @PostMapping("/voucher/searchUnUseVoucherByPage")
    R searchUnUseVoucherByPage(SearchUnUseVoucherByPageForm form);


    /**
     * 查询代金券
     * @param form
     * @return
     */
    @PostMapping("/voucher/searchUsedVoucherByPage")
    R searchUsedVoucherByPage(SearchUsedVoucherByPageForm form);


    /**
     * 查询最佳代金券
     * @param form
     * @return
     */
    @PostMapping("/voucher/searchBestUnUseVoucher")
    R searchBestUnUseVoucher(SearchBestUnUseVoucherForm form);


    /**
     * 查询最佳代金券
     * @param form
     * @return
     */
    @PostMapping("/voucher/searchUnUseVoucherCount")
    R searchUnUseVoucherCount(SearchUnUseVoucherCountForm form);
}